package algorithm

import (
	"TODecider/src/structs"
	"TODecider/src/util"
	"time"
)

type GS struct{}

func (gs *GS) Match(wbg structs.WBG) map[int]int {
	graph := wbg.Graph
	E := len(graph)
	res := make(map[int]int)
	val := 0.0
	iteration = 0
	startTime := time.Now()

	// execution time statistics
	duration := int(time.Since(startTime) / 1e6)
	// clean the result
	for i := 0; i < E; i++ {
		val -= graph[i][res[i]]
	}
	util.PrintTOEvaluation(res, val, iteration, duration)
	return res
}
